%##################%##############################################%%%
%#####%#%%%%%%%%##%%%########%#######%##########%#%###%%###########%%
%#########%%%#%%##%%**%%%##########################################%%
%#########%#%##%%%##*+#%%##########################################%%
%###########+==*#%+*###############################################%%
%##########=-=*%%%#**###%%#########################################%%
%########%*=+#%%%%%%%%%#%%%%%%##################%%%%%######%%%%#%%%%%
%#########%%###%%%%%%%%####%%%#%#%%#########%%##%######%%%%#######*+#
%#############******#####**++++++**#%#######%%#***********#####**++#%
%#######%+=======+=================****++#%**+*+++===---+*%##*+=*###%
%#########+===+++***+====+#**++==---::-**=+*=-......:=*###*+=+#%####%
%####%###%%%##%%%%%##****#%*===++=.    .-=-......:=*###*+==+#%%%####%
%#########%%##**++++*===-==.....*%:...........:+####*+=-=*#%####%%%#%
#########+-::+*:::::::::#@#=+++*%-..........:####*+=--+#############%
*+=**+=*-:::*%#*#%+---=+*===--#%:............:+##*---+#**+=-:-+**++*#
-:-++=#+=+++-:-==#%##%%@+===:=%*...............:*##=--=+==-.:--++-:-+
-:--*+++=#@#=========*#=::::-%*..:-..............-*#*=-==:::-:-=--:-=
--=#=----+++++**++**++++++*##+:=*%%#:..............-*#*--++=-=+--=--=
===*#%%%#########%@#+=======+#%%%%%%#+------========+###+-+--=*--====
-=*+=*##%#**%######*%#++*%*++*+==#%===#+==*%*===%#==-####*=+=-+=+*=-+
++=++**#*+*%#+*%#++%%==+%+==#%***%+--==--=#%=--+@+---#=-=---=**+++++#
+***%*#**#%*+***+*%%+++%+==*%++*%#=-=%#---##---*#=--=#=-++==++*#***+*
#*#%@%##%@%##@%*#%@%##@@######%%@%##%@%###@%#####***#%**#%%@%%%@%#*##